package com.ym.medical.domain.param;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ym.common.constant.BeanCovert;
import com.ym.medical.domain.entity.ConsumeDetailsEntity;
import com.ym.medical.enums.UserCardTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;


@Data
@ApiModel(value = "医生交易明细")
public class DoctorConsumeDetailParam extends BeanCovert<ConsumeDetailsEntity> {

    private Long id;

    @ApiModelProperty("医生主键")
    private String doctorId;
    @ApiModelProperty("医生姓名")
    private String doctorName;
    @ApiModelProperty("医生手机号")
    private String doctorPhoneNo;
    @ApiModelProperty("医生证件类型")
    @JsonSerialize(converter = UserCardTypeEnum.Covert.class)
    private String doctorCardType;
    @ApiModelProperty("医生证件号码")
    private String doctorCardNo;

    @ApiModelProperty("医院名称")
    private String hospitalName;
    @ApiModelProperty("医院编码")
    private String hospitalCode;
    @ApiModelProperty("科室名称")
    private String departName;
    @ApiModelProperty("科室编码")
    private String departCode;
    @ApiModelProperty("患者主键")
    private String patientId;
    @ApiModelProperty("患者姓名")
    private String patientName;
    @ApiModelProperty("交易起始时间")
    private String startTime;
    @ApiModelProperty("交易结束时间")
    private String endTime;

    @ApiModelProperty("工作室名称")
    private String dsName;

    /**
     * 账户主键
     */
    @ApiModelProperty("账户主键")
    private Long accId;

    /**
     * 交易单号
     */
    @ApiModelProperty("交易单号")
    private String tdNo;

    /**
     * 订单编号
     */
    @ApiModelProperty("订单编号")
    private String tradeNo;

    /**
     * 交易明细内容
     */
    @ApiModelProperty("交易明细内容")
    private String tdBody;

    /**
     * 交易类型(消费、退费、消费收入、退费支出)
     */
    @ApiModelProperty("交易类型(消费、退费、消费收入、退费支出)")
    private String tdType;

    /**
     * 现金流向(收入、支出)
     */
    @ApiModelProperty("现金流向(收入、支出)")
    private String cashFlow;

    /**
     * 可空，付款方式( 支付宝、微信、银行卡)
     */
    @ApiModelProperty("可空，付款方式( 支付宝、微信、银行卡)")
    private String payType;

    /**
     * 可空，付款账户
     */
    @ApiModelProperty("可空，付款账户")
    private String payAcc;

    /**
     * 交易金额
     */
    @ApiModelProperty("交易金额")
    private Double tdAmount;

    /**
     * 平台垫付金额
     */
    @ApiModelProperty("平台垫付金额")
    private Double advanceAmount;

    /**
     * 渠道方手续费
     */
    @ApiModelProperty("渠道方手续费")
    private Double otherAmt;

    /**
     * 交易后账户余额
     */
    @ApiModelProperty("交易后账户余额 ")
    private Double aftTdAmount;

    /**
     * 交易时间
     */
    @ApiModelProperty("交易时间")
    private Date tdTime;

    /**
     * 工作室ID
     */
    @ApiModelProperty("工作室ID")
    private Long studioId;

    /**
     * 对方账户主键
     */
    @ApiModelProperty("对方账户主键")
    private Long dfAccId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 系统出账主键
     */
    @ApiModelProperty("系统出账主键")
    private Long sysAuditId;

}
